iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0

對於初學者來說,API一直不容易理解的專有名詞
全名是Application Programming Interface
每個單字都懂,但是組合起來還是不知道是什麼意思
它是一個廣義的概念
只要讓兩種電腦程式,可以互相溝通的方式,都可以稱做API
因為每台電腦的系統都不同,所以需要一種特定的方式(標準化的方式)來交換資料
舉個例子
假設你今天到了星巴克咖啡店,星巴克的菜單可能會分類
咖啡類
星冰樂
茶類
果汁類

在咖啡類有"焦糖瑪奇朵"
可能會記載內容物有焦糖醬、濃縮咖啡、綿密奶泡、牛奶
你看了這些內容物,是不是你想要的
某些內容物你想要調整或是客製化,譬如:濃縮咖啡要2份,牛奶要改成植物性杏仁奶
接著在櫃檯點飲料
店員會和您反映,他們有什麼材料或沒有什麼材料(如果完全沒有材料,以網站來比擬,就顯示404畫面)
接著店員收到你的需求,就開始做飲料
你只要負責在旁邊等飲料完成,而不需要知道來源以及過程(咖啡豆烘烤了多久、咖啡豆在哪裡買的、奶泡用多少時間打出來)

API類似這個概念
只要知道需求是什麼,然後發送出去
使用者要的東西就會自動送到面前

以下用HTTP的API做說明
使用者今天要訂機票
一定會在網站輸入資料
包括護照號碼、個人基本資料、出發地、出發日期、信用卡資訊等等
輸入完成後,只要點下確認鍵送出去
購買的機票就會出來了

其實背後很多東西在運作
按下確認鍵的那一瞬間(發送請求)
像是信用卡資訊,就要給金流的服務商Server去做驗證和授權(處理收到的請求),所以機票的網站要連接到金流的API,交給它們處理,完成最後的交易流程
訂購機票的網站開發者不需要自己寫程式確認信用卡有沒有過期、信用卡額度等等等

除此之外
在Web開發的過程中,前端和後端的協調,也使用到API做為橋樑

Restful API的好處是什麼??

  1. 一種簡單而且經過標準化的通信方式,不用擔心如何格式化資料數據、請求
  2. 無論資料,可以輕鬆進行修改
  3. 無狀態的Server端,這樣伺服器就可以擴大增長
  4. 高效能

上一篇
MVC架構
下一篇
什麼是SOLID? 程式設計的重要原則
系列文
菜鳥建立自信心30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言